import os
import re
from datetime import datetime


def extract_username(file_path):
    """
    从标准格式路径中提取用户名
    示例输入：D:\data\20250512164034_音乐疗愈_时运凯\20250512164034_音乐疗愈_时运凯_band_power_change.txt
    输出：时运凯
    """
    try:
        # 方法1：通过路径分割提取
        dir_name = os.path.basename(os.path.dirname(file_path))
        if '_' in dir_name:
            parts = dir_name.split('_')
            if len(parts) >= 3:  # 确保符合"编号_类型_姓名"格式
                return parts[2]

        # # 方法2：正则表达式提取（更健壮）
        # pattern = r"[\d{14}]_(?:音乐疗愈|其他类型)_([^_]+)"
        # match = re.search(pattern, file_path)
        # if match:
        #     return match.group(1)

        raise ValueError("未找到标准用户名格式")

    except Exception as e:
        print(f"[{datetime.now().strftime('%Y-%m-%d  %H:%M')}] 错误：{str(e)}")
        return None
